/*
 * 文件名：ParkScreenMsgThread.java	 
 * 时     间：下午6:16:19
 * 作     者：Administrator       
 * 版     权： 2012-2022 湖南智软网络科技, 公司保留所有权利.
 * 联     系：http://www.073586.com/
 */
package com.local.manager.thread;

import com.cz0735.led.entity.Cntr1ByLayerEntity;
import com.cz0735.led.entity.Command;
import com.cz0735.led.entity.CommandGroup;
import com.cz0735.led.utils.CommondUtil;
import com.cz073586.tools.util.Tools;
import com.local.entity.vo.ScreenMessage;
import com.local.model.Screen;
import com.qianhai.common.utils.Log4jUtil;

/** 
 * 类描述:发送屏幕消息
 * @ClassName: ParkScreenMsgThread 
 * @author Administrator
 * @date 2016年4月26日 下午6:16:19 
 */
public class ParkFourScreenMsgThread implements Runnable
{
	
	private static Log4jUtil log = Log4jUtil.getLog4j(ParkFourScreenMsgThread.class);
	
	
	private ScreenMessage screenMessage;
	
	private Screen screen;
	
	
	public ParkFourScreenMsgThread(ScreenMessage screenMessage,
			Screen screen)
	{
		super();
		this.screenMessage = screenMessage;
		this.screen = screen;
	}




	@Override
	public void run()
	{
		if(!Tools.isEmpty(screen)){
			try
			{
				CommandGroup grpCommand = new CommandGroup();
				grpCommand.setIp(screen.getScreenIp());
				grpCommand.setPort(Integer.valueOf(screen.getPortNo()));
				
				// 每个命令都需要有个控制字
				Cntr1ByLayerEntity ctr1 = new Cntr1ByLayerEntity();
				ctr1.setFixShow(false); // 空闲时显示,固化显示到flash缓存
				ctr1.setSound(true); // 是否播声音
				ctr1.setLayer(1); // 显示在第几层
				ctr1.setShowTimeLong(5); // 停留时间 15*5 秒，
				
				Command cmd1 = new Command(); // 控制第一层
				cmd1.setCmdHead(true); // 标记命令头
				cmd1.setMachineNumber(Integer.parseInt(screen.getScreenNo())); // 一号机
				cmd1.setCntr1(ctr1); // 控制字1
				cmd1.setContent(screenMessage.getHeadMsg()); // 显示文本内容
				cmd1.setRowspan(false); // 标记被夸层，内容显示FF 但是长度保持与上一层一致.
				grpCommand.addCommand(cmd1); // 添加命令
				
				// 每个命令都需要有个控制字
				Cntr1ByLayerEntity ctr2 = new Cntr1ByLayerEntity();
				ctr2.setFixShow(false); // 空闲时显示,固化显示到flash缓存
				ctr2.setSound(true); // 是否播声音
				ctr2.setLayer(2); // 显示在第几层
				ctr2.setShowTimeLong(5); // 停留时间 15*5 秒，
				
				Command cmd2 = new Command();// 控制第二层
				cmd2.setCmdHead(false);
				cmd2.setMachineNumber(Integer.parseInt(screen.getScreenNo())); // 一号机
				cmd2.setCntr1(ctr2); // 控制字1
				if(!Tools.isEmpty(screenMessage.getSecMsg())){
					cmd2.setContent(screenMessage.getSecMsg()); // 显示文本内容
				}else{
					cmd2.setContent(screenMessage.getHeadMsg()); // 显示第一行文本内容
				}
				cmd2.setRowspan(false); // 标记被夸层，内容显示FF 但是长度保持与上一层一致.
				grpCommand.addCommand(cmd2); // 添加命令
				
				// 每个命令都需要有个控制字
				Cntr1ByLayerEntity ctr3 = new Cntr1ByLayerEntity();
				ctr3.setFixShow(false); // 空闲时显示,固化显示到flash缓存
				ctr3.setSound(true); // 是否播声音
				ctr3.setLayer(3); // 显示在第几层
				ctr3.setShowTimeLong(5); // 停留时间 15*5 秒，
				
				Command cmd3 = new Command();// 控制第三层
				cmd3.setCmdHead(false);
				cmd3.setMachineNumber(Integer.parseInt(screen.getScreenNo())); // 一号机
				cmd3.setCntr1(ctr3); // 控制字1
				cmd3.setContent(screenMessage.getThirdMsg()); // 显示文本内容
				cmd3.setRowspan(false); // 标记被夸层，内容显示FF 但是长度保持与上一层一致.
				grpCommand.addCommand(cmd3); // 添加命令
				
				
				Cntr1ByLayerEntity ctr4 = new Cntr1ByLayerEntity();
				ctr4.setFixShow(false); // 空闲时显示,固化显示到flash缓存
				ctr4.setSound(true); // 是否播声音
				ctr4.setLayer(4); // 显示在第几层
				ctr4.setShowTimeLong(5); // 停留时间 15*5 秒，
				
				Command cmd4 = new Command();// 控制第四层
				cmd4.setCmdHead(false);
				cmd4.setMachineNumber(Integer.parseInt(screen.getScreenNo())); // 一号机
				if(!Tools.isEmpty(screenMessage.getFootMsg())){
					ctr4.setSound(true); // 是否播声音
					cmd4.setContent(screenMessage.getFootMsg()); // 显示文本内容
				}else{
					ctr4.setSound(false);
					cmd4.setContent(screenMessage.getThirdMsg()); // 显示文本内容
				}
				cmd4.setCntr1(ctr4); // 控制字1
				cmd4.setRowspan(false); // 标记被夸层，内容显示FF 但是长度保持与上一层一致.
				grpCommand.addCommand(cmd4); // 添加命令
				
				CommondUtil.executeComondGrop(grpCommand);
				grpCommand.printCmd();
			/*	
				if(!Tools.isEmpty(screenMessage.getHeadMsg())){
					// 每个命令都需要有个控制字
					Cntr1ByLayerEntity ctr1 = new Cntr1ByLayerEntity();
					ctr1.setFixShow(false); // 空闲时显示,固化显示到flash缓存
					ctr1.setSound(true); // 是否播声音
					ctr1.setLayer(1); // 显示在第几层
					ctr1.setShowTimeLong(5); // 停留时间 15*5 秒，
					Command cmd1 = new Command(); // 控制第一层
					cmd1.setCmdHead(true); // 标记命令头
					cmd1.setMachineNumber(Integer.parseInt(screen.getScreenNo())); // 一号机
					cmd1.setCntr1(ctr1); // 控制字1
					cmd1.setContent(screenMessage.getHeadMsg()); // 显示文本内容
					cmd1.setRowspan(false); // 标记被夸层，内容显示FF 但是长度保持与上一层一致.
					grpCommand.addCommand(cmd1); // 添加命令
				}
				Cntr1ByLayerEntity ctr2 = new Cntr1ByLayerEntity();
				ctr2.setFixShow(false); // 空闲时显示,固化显示到flash缓存
				ctr2.setSound(true); // 是否播声音
				ctr2.setLayer(2); // 显示在第几层
				ctr2.setShowTimeLong(5); // 停留时间 15*5 秒，
				Command cmd2 = new Command();// 控制第二层
				cmd2.setCmdHead(false);
				cmd2.setMachineNumber(Integer.parseInt(screen.getScreenNo())); // 一号机
				cmd2.setCntr1(ctr2); // 控制字1
				cmd2.setRowspan(true); // 标记被夸层，内容显示FF 但是长度保持与上一层一致.
				if(!Tools.isEmpty(screenMessage.getSecMsg())){
					cmd2.setContent(screenMessage.getSecMsg()); // 显示文本内容
				}else{
					cmd2.setContent(screenMessage.getHeadMsg()); // 显示第一行文本内容
				}
				grpCommand.addCommand(cmd2); // 添加命令
				
				if(!Tools.isEmpty(screenMessage.getThirdMsg())){
					Cntr1ByLayerEntity ctr3 = new Cntr1ByLayerEntity();
					ctr3.setFixShow(false); // 空闲时显示,固化显示到flash缓存
					ctr3.setSound(false); // 是否播声音
					ctr3.setLayer(3); // 显示在第几层
					ctr3.setShowTimeLong(5); // 停留时间 15*5 秒，
					
					Command cmd3 = new Command();// 控制第三层
					cmd3.setCmdHead(false);
					cmd3.setMachineNumber(Integer.parseInt(screen.getScreenNo())); // 一号机
					cmd3.setCntr1(ctr3); // 控制字1
					cmd3.setContent(screenMessage.getThirdMsg()); // 显示文本内容
					cmd3.setRowspan(false); // 标记被夸层，内容显示FF 但是长度保持与上一层一致.
					grpCommand.addCommand(cmd3); // 添加命令
				}
				
				Cntr1ByLayerEntity ctr4 = new Cntr1ByLayerEntity();
				ctr4.setFixShow(false); // 空闲时显示,固化显示到flash缓存
				ctr4.setLayer(4); // 显示在第几层
				ctr4.setShowTimeLong(5); // 停留时间 15*5 秒，
				
				Command cmd4 = new Command();// 控制第四层
				cmd4.setCmdHead(false);
				cmd4.setMachineNumber(Integer.parseInt(screen.getScreenNo())); // 一号机
				cmd4.setRowspan(false); // 标记被夸层，内容显示FF 但是长度保持与上一层一致.
				if(!Tools.isEmpty(screenMessage.getFootMsg())){
					ctr4.setSound(true); // 是否播声音
					cmd4.setContent(screenMessage.getFootMsg()); // 显示文本内容
				}else{
					ctr4.setSound(false);
					cmd4.setContent(screenMessage.getThirdMsg()); // 显示文本内容
				}
				cmd4.setCntr1(ctr4); // 控制字1
				grpCommand.addCommand(cmd4); // 添加命令
				grpCommand.printCmd();
				CommondUtil.executeComondGrop(grpCommand);*/
			} catch (Exception e)
			{
				e.printStackTrace();
				log.error("------------发送屏幕消息异常-------------");
			}
		}
	}
	
}
